package com.meida.module.bus.provider.service;

import com.meida.common.mybatis.base.service.IBaseService;
import com.meida.common.mybatis.model.ResultBody;
import com.meida.module.order.client.entity.OrderInfo;

import java.util.Map;

/**
 * 订单表 接口
 *
 * @author flyme
 * @date 2022-06-23
 */
public interface BusOrderInfoService extends IBaseService<OrderInfo> {

    /**
     * description: 根据订单id获取微信支付参数
     * date: 2022年-06月-26日 06:58
     * author: ldd
     *
     * @param orderId
     * @return com.meida.common.mybatis.model.ResultBody
     */
    ResultBody getPayParams(Long orderId);

    /**
     * description: 查询本年度订单数
     * date: 2022年-06月-29日 18:04
     * author: ldd
     *
     * @param years
     * @param userId
     * @return int
     */
    Long getCountByYearAndUserId(int years, Long userId);

    /**
     * 支付成功修改订单状态
     *
     * @param outTradeNo
     * @param orderState
     */
    Boolean paySuccess(String outTradeNo, Map<String, Object> context, Integer orderState);

    /**
     * description: saveVipOrder
     * date: 2022年-07月-01日 08:13
     * author: ldd
     *
     * @param vipTypeId
     * @param userId
     * @param outTradeNo
     * @param transaction_id
     * @return void
     */
    void saveVipOrder(Long vipTypeId, Long userId, String outTradeNo, Object transaction_id);
}
